|
Cytosim
PI
Cytoskeleton Simulator
|
Variables | |
| real | time_step |
| a small interval of time More... | |
| real | viscosity |
| Ambient viscosity. More... | |
| Vector | flow |
| uniform and constant fluid flow | |
| real | kT |
| Level of Brownian motion in the system = temperature * Boltzman constant. More... | |
| unsigned long | random_seed |
| Seed for random number generator. More... | |
| real | tolerance |
| Desired precision in the motion of the objects. More... | |
| real | acceptable_rate |
| Precision threshold for stochastic events. More... | |
| int | precondition |
| A flag to enable preconditionning when solving the system of equations. More... | |
| int | steric |
| A flag to control the engine that implement steric interactions between objects. | |
| real | steric_stiffness_push [2] |
| Stiffness for repulsive steric interaction. | |
| real | steric_stiffness_pull [2] |
| Stiffness for attractive steric interaction. | |
| real | steric_max_range |
| Lattice size used to determine steric interactions. More... | |
| real | binding_grid_step |
| Lattice size used to determine the attachment of Hand to Fiber. More... | |
| int | verbose |
| level of verbosity | |
| std::string | config |
| Name of configuration file (default = config.cym) | |
| std::string | property_file |
| Name of output property file (also known as properties, default = properties.cmo) | |
| std::string | trajectory_file |
| Name of output trajectory file (also known as trajectory, default = objects.cmo) | |
| bool | append_file |
| If false, any pre-existing trajectory_file will be erased (default = false) | |
| std::string | display |
| Display parameters (see Display parameters: World) | |
| real acceptable_rate |
A warning message is issued for a rate K if:
In most implementations, a stochastic event (binding/unbinding) may only occur once during a time_step, and this becomes inaccurate if ( K * time_step is not small compared to 1 ).
A user may control the `rate overflow' by adjusting acceptable_rate and monitoring the warning messages.
default value = 0.5
| real binding_grid_step |
Cytosim uses a divide-and-conquer approach to detect which Fibers are near a given point, witout testing every Fiber. This is necessary to determine onto which Fiber a Hand may bind. The algorithm is based on partitionning Space with a rectangular grid with cells of size binding_grid_step (see FiberGrid).
binding_grid_step affects the execution speed of the algorithm, but not its result. Smaller values of binding_grid_step reduce the number of false positives, but require more memory and housekeeping calculations. Memory requirements also increase with the physical dimensions of the system, to the power DIM (the dimensionality, set at compilation time).
| real kT |
kT is the product of the absolute temperature in Kelvin, by the Boltzmann constant k (http://en.wikipedia.org/wiki/Boltzmann_constant):
Examples:
default value = 0.0042
| int precondition |
The accepted values of precondition are:
default value = 1
| unsigned long random_seed |
The simulation uses SFMT, a fast Mersenne Twister to generate pseudo-random numbers http://en.wikipedia.org/wiki/Mersenne_twister
The generator is initialized from random_seed. If ( random_seed == 0 ) then random_seed is calculated from the clock time during initialization.
default value = 0
| real steric_max_range |
Cytosim uses a divide-and-conquer approach to find pairs of objects that are close enough to interact, based on a dividing the Space with a rectangular grid (see PointGrid).
steric_max_range defines the minimum size of the cells in the grid. A finer grid reduces false positives, but increases the amount of memory occupied by the grid, and the number calculations that are necessary to maintain and clear the grid.
Thus optimal performance is usually obtained for an intermediate value of steric_max_range. However steric_max_range must remain greater than the maximum interaction distance, otherwise some interacting pairs will be missed. Experimentation is usually necessary to find the best value.
The maximum distance at which an object may interact with a sibling is its diameter. Generally, steric_max_range should be greater or equal to the sum of the radiuses, of any two object that may interact. In the case of fiber, the 'interaction-radius' is a combination of the segmentation, and the radius: sqrt( (4/3*segmentation)^2 + 4*radius^2 )
If the parameter is not set, cytosim attempts to calculate steric_max_range automatically.
| real time_step |
The time_step is the amount of time between two consecutive simulation states. It controls the precision of the simulation, at the expense of computation.
We can guarantee that the numerical result will converge to the true mathematical solution of the equations when time_step becomes infinitely small, but we do not necessarily know how fast this convergence will be.
To check that time_step is appropriate for a particular problem, one should thus run several simulations where time_step is varied systematically.
Useful rules:
time_step.| real tolerance |
The motion of the objects is solved with a residual error that is lower than tolerance * B, where B is the typical Brownian displacement of the objects in one time_step.
Thus one should set 0 < tolerance < 1.
Lower values of tolerance lead to increased precision at the expense of CPU time.
default value = 0.05
| real viscosity |
The viscosity should be given in units of pN.s/um^2 = N.s/m^2 = Pa.s:
http://en.wikipedia.org/wiki/Viscosity
default value = 1